/**
 *  @brief   平面三角单元 6 点积分格式
 *           注意：与3点积分格式（Gauss2DTria3P）不同，这里投射到面积1/2参考单元上，即权重和为1/2而非1
 * @author   Liu Xing
 * @date     2025.10.17
 * @version v1.0
 * @par Copyright(c):  ShenGong  Simulation corporation
 */

#pragma once
#include "DataStructure/Common/SGNamespace.h"
#include "DataStructure/Input/Solver/IntegPoint.h"
#include "../Common/IntegrationExport.h"

SG_NAMESPACE_OPEN
namespace FEMSolver
{
    namespace Element
    {
        /** @brief 三角形 6点积分格式（2次6节点三角形用）
        */
        class Integration_DECLSPEC Gauss2DTria6P
        {
        public:
            Gauss2DTria6P();
            std::size_t GetPointSize() const;
            const SG::DataStructure::FEM::IntegPoint& GetPoint(std::size_t index) const;
            const SG::DataStructure::FEM::IntegPointArray& GetPoints() const;

        private:
            SG::DataStructure::FEM::IntegPointArray integPointSet;
            static std::size_t nPoint;
        };
    } // namespace Element
} // namespace FEMSolver
SG_NAMESPACE_CLOSE
